<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
 * 自己的模型控制器，方便以后扩展
 * @author wwj
 * @version 1.0.1 2012-11-11
 *
 */
class MY_Model extends CI_Model
{
	function __construct()
	{
		parent::__construct();
	}
	
	/**
	 * 删除数据库表记录通用方法
	 * 条件数组可以为一维的$where[$key],以条件为索引，内容为条件的值
	 * 也可以是二维的$where[$key][],将逐一删除
	 * @param string $table 表名称
	 * @param array $where 条件数组
	 * @return boolean
	 */
	function delete_record($table, $where)
	{
		if($this->db->table_exists($table) && is_array($where))
		{
			foreach ($where as $key => $values)
			{
				if(is_array($values))
				{
					foreach($values as $value)
					{
						$this->db->delete($table, array($key => $value));
					}
				}
				else
				{
					$this->db->delete($table, $where);
				}
			}
			return TRUE;
		}
		else
		{
			return FALSE;
		}
	}
	
	/**
	 * 获取所有栏目下的文章状态
	 * @param string $table 要查询的表
	 * @param array $where 查询条件
	 * @param string $limit 返回条数
	 * @return boolean
	 */
	function get_state($table, $where, $limit = '1')
	{
		$this->db->select('id,title,isrecommend,istop,ishot,isactive,isverify');
		$this->db->from($table);
		$this->db->where($where);
		$this->db->limit($limit);
		$qurey = $this->db->get();
		return $qurey->result_array();
	}
	
	/**
	 * 更新表内容
	 * @param string $table
	 * @param array $where 更新条件
	 * @param array $data 更新内容
	 * @return boolean
	 */
	function update($table, $where, $data)
	{
		if($this->db->table_exists($table) && is_array($where) && !empty($data))
		{
			$this->db->update($table, $data, $where);
			return TRUE;
		}
		else
		{
			return FALSE;
		}
	}
	
	/**
	 * 在数据库表中添加新记录
	 * @param string $table 表名称
	 * @param array $data 数据内容
	 * @return boolean
	 */
	function insert($table, $data)
	{
		if ($this->db->table_exists($table) && is_array($data) && !empty($data))
		{
			$this->db->insert($table, $data);
			return TRUE;
		}
		else
		{
			return FALSE;
		}
	}
	
	/**
	 * 返回数据库表的总记录
	 * @param string $table 表名称
	 * @return boolean
	 */
	function count_all($table)
	{
		if ($this->db->table_exists($table))
		{
			return $this->db->count_all($table);
		}
		else
		{
			return FALSE;
		}
	}
	
	/**
	 * 根据条件查询结果的总数
	 * @param string $table 查询的表名称
	 * @param array $where 查询条件
	 * @return boolean|int 失败返回FALSE，否则返回查询的结果数量
	 */
	function count_all_results($table, $where)
	{
		if ($this->db->table_exists($table) && is_array($where))
		{
			$this->db->where($where);
			$this->db->from($table);
			return $this->db->count_all_results();
		}
		else
		{
			return FALSE;
		}
	}
}

/* End of file MY_Model.php */
/* Location: ./application/controllers/MY_Model.php */